﻿namespace WMS6.Web.InventoryMgtServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, DebuggerStepThrough, DataContract(Name="TaskDetailInfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity"), GeneratedCode("System.Runtime.Serialization", "3.0.0.0")]
    public class TaskDetailInfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [OptionalField]
        private string CaseIDField;
        [OptionalField]
        private string CreatedByField;
        [OptionalField]
        private DateTime CreatedDateField;
        [OptionalField]
        private string DocIDField;
        [OptionalField]
        private int DocLineIDField;
        [OptionalField]
        private string DoorField;
        [OptionalField]
        private DateTime EndTimeField;
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string FinalToLocField;
        [OptionalField]
        private string FromLocField;
        [OptionalField]
        private string FromLpnIDField;
        [OptionalField]
        private string FromTransIDField;
        [OptionalField]
        private string HoldIDField;
        [OptionalField]
        private string ListIDField;
        [OptionalField]
        private string LogicalFromLocField;
        [OptionalField]
        private string LogicalToLocField;
        [OptionalField]
        private string LotField;
        [OptionalField]
        private string Message01Field;
        [OptionalField]
        private string Message02Field;
        [OptionalField]
        private string Message03Field;
        [OptionalField]
        private string OptBatchIDField;
        [OptionalField]
        private string OptLocationTypeField;
        [OptionalField]
        private decimal OptQtyLocLimitField;
        [OptionalField]
        private decimal OptQtyLocMinimumField;
        [OptionalField]
        private string OptReplenishmentUomField;
        [OptionalField]
        private string OptTaskSequenceField;
        [OptionalField]
        private string OrderIDField;
        [OptionalField]
        private int OrderLineIDField;
        [OptionalField]
        private string OwnerIDField;
        [OptionalField]
        private string PickDetailIDField;
        [OptionalField]
        private string PickMethodField;
        [OptionalField]
        private string PriorityField;
        [OptionalField]
        private decimal QtyField;
        [OptionalField]
        private string ReasonIDField;
        [OptionalField]
        private DateTime ReleaseDateField;
        [OptionalField]
        private string RouteField;
        [OptionalField]
        private int RowIDField;
        [OptionalField]
        private int SeqNoField;
        [OptionalField]
        private string SkuIDField;
        [OptionalField]
        private string SourcePriorityField;
        [OptionalField]
        private string SourceTypeField;
        [OptionalField]
        private DateTime StartTimeField;
        [OptionalField]
        private string StatusDField;
        [OptionalField]
        private string StatusField;
        [OptionalField]
        private string StatusMsgField;
        [OptionalField]
        private string StopField;
        [OptionalField]
        private string TaskDetailIDField;
        [OptionalField]
        private string TaskTypeDField;
        [OptionalField]
        private string TaskTypeField;
        [OptionalField]
        private string ToLocField;
        [OptionalField]
        private string ToLpnIDField;
        [OptionalField]
        private string ToTransIDField;
        [OptionalField]
        private byte[] TsField;
        [OptionalField]
        private string UomIDField;
        [OptionalField]
        private decimal UomQtyField;
        [OptionalField]
        private string UpdatedByField;
        [OptionalField]
        private DateTime UpdatedDateField;
        [OptionalField]
        private string UserIDField;
        [OptionalField]
        private string UserIdOverrideField;
        [OptionalField]
        private string UserPositionField;
        [OptionalField]
        private string WaveIDField;
        [OptionalField]
        private string WhIDField;
        [OptionalField]
        private string ZoneIDField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public string CaseID
        {
            get
            {
                return this.CaseIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CaseIDField, value))
                {
                    this.CaseIDField = value;
                    this.RaisePropertyChanged("CaseID");
                }
            }
        }

        [DataMember]
        public string CreatedBy
        {
            get
            {
                return this.CreatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CreatedByField, value))
                {
                    this.CreatedByField = value;
                    this.RaisePropertyChanged("CreatedBy");
                }
            }
        }

        [DataMember]
        public DateTime CreatedDate
        {
            get
            {
                return this.CreatedDateField;
            }
            set
            {
                if (!this.CreatedDateField.Equals(value))
                {
                    this.CreatedDateField = value;
                    this.RaisePropertyChanged("CreatedDate");
                }
            }
        }

        [DataMember]
        public string DocID
        {
            get
            {
                return this.DocIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DocIDField, value))
                {
                    this.DocIDField = value;
                    this.RaisePropertyChanged("DocID");
                }
            }
        }

        [DataMember]
        public int DocLineID
        {
            get
            {
                return this.DocLineIDField;
            }
            set
            {
                if (!this.DocLineIDField.Equals(value))
                {
                    this.DocLineIDField = value;
                    this.RaisePropertyChanged("DocLineID");
                }
            }
        }

        [DataMember]
        public string Door
        {
            get
            {
                return this.DoorField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DoorField, value))
                {
                    this.DoorField = value;
                    this.RaisePropertyChanged("Door");
                }
            }
        }

        [DataMember]
        public DateTime EndTime
        {
            get
            {
                return this.EndTimeField;
            }
            set
            {
                if (!this.EndTimeField.Equals(value))
                {
                    this.EndTimeField = value;
                    this.RaisePropertyChanged("EndTime");
                }
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string FinalToLoc
        {
            get
            {
                return this.FinalToLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.FinalToLocField, value))
                {
                    this.FinalToLocField = value;
                    this.RaisePropertyChanged("FinalToLoc");
                }
            }
        }

        [DataMember]
        public string FromLoc
        {
            get
            {
                return this.FromLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.FromLocField, value))
                {
                    this.FromLocField = value;
                    this.RaisePropertyChanged("FromLoc");
                }
            }
        }

        [DataMember]
        public string FromLpnID
        {
            get
            {
                return this.FromLpnIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.FromLpnIDField, value))
                {
                    this.FromLpnIDField = value;
                    this.RaisePropertyChanged("FromLpnID");
                }
            }
        }

        [DataMember]
        public string FromTransID
        {
            get
            {
                return this.FromTransIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.FromTransIDField, value))
                {
                    this.FromTransIDField = value;
                    this.RaisePropertyChanged("FromTransID");
                }
            }
        }

        [DataMember]
        public string HoldID
        {
            get
            {
                return this.HoldIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.HoldIDField, value))
                {
                    this.HoldIDField = value;
                    this.RaisePropertyChanged("HoldID");
                }
            }
        }

        [DataMember]
        public string ListID
        {
            get
            {
                return this.ListIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ListIDField, value))
                {
                    this.ListIDField = value;
                    this.RaisePropertyChanged("ListID");
                }
            }
        }

        [DataMember]
        public string LogicalFromLoc
        {
            get
            {
                return this.LogicalFromLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LogicalFromLocField, value))
                {
                    this.LogicalFromLocField = value;
                    this.RaisePropertyChanged("LogicalFromLoc");
                }
            }
        }

        [DataMember]
        public string LogicalToLoc
        {
            get
            {
                return this.LogicalToLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LogicalToLocField, value))
                {
                    this.LogicalToLocField = value;
                    this.RaisePropertyChanged("LogicalToLoc");
                }
            }
        }

        [DataMember]
        public string Lot
        {
            get
            {
                return this.LotField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LotField, value))
                {
                    this.LotField = value;
                    this.RaisePropertyChanged("Lot");
                }
            }
        }

        [DataMember]
        public string Message01
        {
            get
            {
                return this.Message01Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Message01Field, value))
                {
                    this.Message01Field = value;
                    this.RaisePropertyChanged("Message01");
                }
            }
        }

        [DataMember]
        public string Message02
        {
            get
            {
                return this.Message02Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Message02Field, value))
                {
                    this.Message02Field = value;
                    this.RaisePropertyChanged("Message02");
                }
            }
        }

        [DataMember]
        public string Message03
        {
            get
            {
                return this.Message03Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Message03Field, value))
                {
                    this.Message03Field = value;
                    this.RaisePropertyChanged("Message03");
                }
            }
        }

        [DataMember]
        public string OptBatchID
        {
            get
            {
                return this.OptBatchIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OptBatchIDField, value))
                {
                    this.OptBatchIDField = value;
                    this.RaisePropertyChanged("OptBatchID");
                }
            }
        }

        [DataMember]
        public string OptLocationType
        {
            get
            {
                return this.OptLocationTypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OptLocationTypeField, value))
                {
                    this.OptLocationTypeField = value;
                    this.RaisePropertyChanged("OptLocationType");
                }
            }
        }

        [DataMember]
        public decimal OptQtyLocLimit
        {
            get
            {
                return this.OptQtyLocLimitField;
            }
            set
            {
                if (!this.OptQtyLocLimitField.Equals(value))
                {
                    this.OptQtyLocLimitField = value;
                    this.RaisePropertyChanged("OptQtyLocLimit");
                }
            }
        }

        [DataMember]
        public decimal OptQtyLocMinimum
        {
            get
            {
                return this.OptQtyLocMinimumField;
            }
            set
            {
                if (!this.OptQtyLocMinimumField.Equals(value))
                {
                    this.OptQtyLocMinimumField = value;
                    this.RaisePropertyChanged("OptQtyLocMinimum");
                }
            }
        }

        [DataMember]
        public string OptReplenishmentUom
        {
            get
            {
                return this.OptReplenishmentUomField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OptReplenishmentUomField, value))
                {
                    this.OptReplenishmentUomField = value;
                    this.RaisePropertyChanged("OptReplenishmentUom");
                }
            }
        }

        [DataMember]
        public string OptTaskSequence
        {
            get
            {
                return this.OptTaskSequenceField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OptTaskSequenceField, value))
                {
                    this.OptTaskSequenceField = value;
                    this.RaisePropertyChanged("OptTaskSequence");
                }
            }
        }

        [DataMember]
        public string OrderID
        {
            get
            {
                return this.OrderIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OrderIDField, value))
                {
                    this.OrderIDField = value;
                    this.RaisePropertyChanged("OrderID");
                }
            }
        }

        [DataMember]
        public int OrderLineID
        {
            get
            {
                return this.OrderLineIDField;
            }
            set
            {
                if (!this.OrderLineIDField.Equals(value))
                {
                    this.OrderLineIDField = value;
                    this.RaisePropertyChanged("OrderLineID");
                }
            }
        }

        [DataMember]
        public string OwnerID
        {
            get
            {
                return this.OwnerIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OwnerIDField, value))
                {
                    this.OwnerIDField = value;
                    this.RaisePropertyChanged("OwnerID");
                }
            }
        }

        [DataMember]
        public string PickDetailID
        {
            get
            {
                return this.PickDetailIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PickDetailIDField, value))
                {
                    this.PickDetailIDField = value;
                    this.RaisePropertyChanged("PickDetailID");
                }
            }
        }

        [DataMember]
        public string PickMethod
        {
            get
            {
                return this.PickMethodField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PickMethodField, value))
                {
                    this.PickMethodField = value;
                    this.RaisePropertyChanged("PickMethod");
                }
            }
        }

        [DataMember]
        public string Priority
        {
            get
            {
                return this.PriorityField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PriorityField, value))
                {
                    this.PriorityField = value;
                    this.RaisePropertyChanged("Priority");
                }
            }
        }

        [DataMember]
        public decimal Qty
        {
            get
            {
                return this.QtyField;
            }
            set
            {
                if (!this.QtyField.Equals(value))
                {
                    this.QtyField = value;
                    this.RaisePropertyChanged("Qty");
                }
            }
        }

        [DataMember]
        public string ReasonID
        {
            get
            {
                return this.ReasonIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReasonIDField, value))
                {
                    this.ReasonIDField = value;
                    this.RaisePropertyChanged("ReasonID");
                }
            }
        }

        [DataMember]
        public DateTime ReleaseDate
        {
            get
            {
                return this.ReleaseDateField;
            }
            set
            {
                if (!this.ReleaseDateField.Equals(value))
                {
                    this.ReleaseDateField = value;
                    this.RaisePropertyChanged("ReleaseDate");
                }
            }
        }

        [DataMember]
        public string Route
        {
            get
            {
                return this.RouteField;
            }
            set
            {
                if (!object.ReferenceEquals(this.RouteField, value))
                {
                    this.RouteField = value;
                    this.RaisePropertyChanged("Route");
                }
            }
        }

        [DataMember]
        public int RowID
        {
            get
            {
                return this.RowIDField;
            }
            set
            {
                if (!this.RowIDField.Equals(value))
                {
                    this.RowIDField = value;
                    this.RaisePropertyChanged("RowID");
                }
            }
        }

        [DataMember]
        public int SeqNo
        {
            get
            {
                return this.SeqNoField;
            }
            set
            {
                if (!this.SeqNoField.Equals(value))
                {
                    this.SeqNoField = value;
                    this.RaisePropertyChanged("SeqNo");
                }
            }
        }

        [DataMember]
        public string SkuID
        {
            get
            {
                return this.SkuIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuIDField, value))
                {
                    this.SkuIDField = value;
                    this.RaisePropertyChanged("SkuID");
                }
            }
        }

        [DataMember]
        public string SourcePriority
        {
            get
            {
                return this.SourcePriorityField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SourcePriorityField, value))
                {
                    this.SourcePriorityField = value;
                    this.RaisePropertyChanged("SourcePriority");
                }
            }
        }

        [DataMember]
        public string SourceType
        {
            get
            {
                return this.SourceTypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SourceTypeField, value))
                {
                    this.SourceTypeField = value;
                    this.RaisePropertyChanged("SourceType");
                }
            }
        }

        [DataMember]
        public DateTime StartTime
        {
            get
            {
                return this.StartTimeField;
            }
            set
            {
                if (!this.StartTimeField.Equals(value))
                {
                    this.StartTimeField = value;
                    this.RaisePropertyChanged("StartTime");
                }
            }
        }

        [DataMember]
        public string Status
        {
            get
            {
                return this.StatusField;
            }
            set
            {
                if (!object.ReferenceEquals(this.StatusField, value))
                {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }

        [DataMember]
        public string StatusD
        {
            get
            {
                return this.StatusDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.StatusDField, value))
                {
                    this.StatusDField = value;
                    this.RaisePropertyChanged("StatusD");
                }
            }
        }

        [DataMember]
        public string StatusMsg
        {
            get
            {
                return this.StatusMsgField;
            }
            set
            {
                if (!object.ReferenceEquals(this.StatusMsgField, value))
                {
                    this.StatusMsgField = value;
                    this.RaisePropertyChanged("StatusMsg");
                }
            }
        }

        [DataMember]
        public string Stop
        {
            get
            {
                return this.StopField;
            }
            set
            {
                if (!object.ReferenceEquals(this.StopField, value))
                {
                    this.StopField = value;
                    this.RaisePropertyChanged("Stop");
                }
            }
        }

        [DataMember]
        public string TaskDetailID
        {
            get
            {
                return this.TaskDetailIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TaskDetailIDField, value))
                {
                    this.TaskDetailIDField = value;
                    this.RaisePropertyChanged("TaskDetailID");
                }
            }
        }

        [DataMember]
        public string TaskType
        {
            get
            {
                return this.TaskTypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TaskTypeField, value))
                {
                    this.TaskTypeField = value;
                    this.RaisePropertyChanged("TaskType");
                }
            }
        }

        [DataMember]
        public string TaskTypeD
        {
            get
            {
                return this.TaskTypeDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TaskTypeDField, value))
                {
                    this.TaskTypeDField = value;
                    this.RaisePropertyChanged("TaskTypeD");
                }
            }
        }

        [DataMember]
        public string ToLoc
        {
            get
            {
                return this.ToLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ToLocField, value))
                {
                    this.ToLocField = value;
                    this.RaisePropertyChanged("ToLoc");
                }
            }
        }

        [DataMember]
        public string ToLpnID
        {
            get
            {
                return this.ToLpnIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ToLpnIDField, value))
                {
                    this.ToLpnIDField = value;
                    this.RaisePropertyChanged("ToLpnID");
                }
            }
        }

        [DataMember]
        public string ToTransID
        {
            get
            {
                return this.ToTransIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ToTransIDField, value))
                {
                    this.ToTransIDField = value;
                    this.RaisePropertyChanged("ToTransID");
                }
            }
        }

        [DataMember]
        public byte[] Ts
        {
            get
            {
                return this.TsField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TsField, value))
                {
                    this.TsField = value;
                    this.RaisePropertyChanged("Ts");
                }
            }
        }

        [DataMember]
        public string UomID
        {
            get
            {
                return this.UomIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UomIDField, value))
                {
                    this.UomIDField = value;
                    this.RaisePropertyChanged("UomID");
                }
            }
        }

        [DataMember]
        public decimal UomQty
        {
            get
            {
                return this.UomQtyField;
            }
            set
            {
                if (!this.UomQtyField.Equals(value))
                {
                    this.UomQtyField = value;
                    this.RaisePropertyChanged("UomQty");
                }
            }
        }

        [DataMember]
        public string UpdatedBy
        {
            get
            {
                return this.UpdatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UpdatedByField, value))
                {
                    this.UpdatedByField = value;
                    this.RaisePropertyChanged("UpdatedBy");
                }
            }
        }

        [DataMember]
        public DateTime UpdatedDate
        {
            get
            {
                return this.UpdatedDateField;
            }
            set
            {
                if (!this.UpdatedDateField.Equals(value))
                {
                    this.UpdatedDateField = value;
                    this.RaisePropertyChanged("UpdatedDate");
                }
            }
        }

        [DataMember]
        public string UserID
        {
            get
            {
                return this.UserIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UserIDField, value))
                {
                    this.UserIDField = value;
                    this.RaisePropertyChanged("UserID");
                }
            }
        }

        [DataMember]
        public string UserIdOverride
        {
            get
            {
                return this.UserIdOverrideField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UserIdOverrideField, value))
                {
                    this.UserIdOverrideField = value;
                    this.RaisePropertyChanged("UserIdOverride");
                }
            }
        }

        [DataMember]
        public string UserPosition
        {
            get
            {
                return this.UserPositionField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UserPositionField, value))
                {
                    this.UserPositionField = value;
                    this.RaisePropertyChanged("UserPosition");
                }
            }
        }

        [DataMember]
        public string WaveID
        {
            get
            {
                return this.WaveIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.WaveIDField, value))
                {
                    this.WaveIDField = value;
                    this.RaisePropertyChanged("WaveID");
                }
            }
        }

        [DataMember]
        public string WhID
        {
            get
            {
                return this.WhIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.WhIDField, value))
                {
                    this.WhIDField = value;
                    this.RaisePropertyChanged("WhID");
                }
            }
        }

        [DataMember]
        public string ZoneID
        {
            get
            {
                return this.ZoneIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ZoneIDField, value))
                {
                    this.ZoneIDField = value;
                    this.RaisePropertyChanged("ZoneID");
                }
            }
        }
    }
}

